/**
 * 格式化创建时间
 * @param timeStr 时间字符串
 * @returns 格式化后的时间字符串
 */
export const formatCreateTime = (timeStr: string): string => {
  if (!timeStr) return '-'
  
  try {
    // 处理ISO格式的时间字符串
    const date = new Date(timeStr)
    if (isNaN(date.getTime())) {
      return timeStr // 如果解析失败，直接返回原字符串
    }
    
    // 格式化为 YYYY-MM-DD HH:mm:ss
    const year = date.getFullYear()
    const month = String(date.getMonth() + 1).padStart(2, '0')
    const day = String(date.getDate()).padStart(2, '0')
    const hours = String(date.getHours()).padStart(2, '0')
    const minutes = String(date.getMinutes()).padStart(2, '0')
    const seconds = String(date.getSeconds()).padStart(2, '0')
    
    return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
  } catch (error) {
    console.error('时间格式化错误:', error)
    return timeStr
  }
}

/**
 * 格式化日期（仅日期部分）
 * @param timeStr 时间字符串
 * @returns 格式化后的日期字符串
 */
export const formatDate = (timeStr: string): string => {
  if (!timeStr) return '-'
  
  try {
    const date = new Date(timeStr)
    if (isNaN(date.getTime())) {
      return timeStr
    }
    
    const year = date.getFullYear()
    const month = String(date.getMonth() + 1).padStart(2, '0')
    const day = String(date.getDate()).padStart(2, '0')
    
    return `${year}-${month}-${day}`
  } catch (error) {
    console.error('日期格式化错误:', error)
    return timeStr
  }
}

/**
 * 格式化时间（仅时间部分）
 * @param timeStr 时间字符串
 * @returns 格式化后的时间字符串
 */
export const formatTime = (timeStr: string): string => {
  if (!timeStr) return '-'
  
  try {
    const date = new Date(timeStr)
    if (isNaN(date.getTime())) {
      return timeStr
    }
    
    const hours = String(date.getHours()).padStart(2, '0')
    const minutes = String(date.getMinutes()).padStart(2, '0')
    const seconds = String(date.getSeconds()).padStart(2, '0')
    
    return `${hours}:${minutes}:${seconds}`
  } catch (error) {
    console.error('时间格式化错误:', error)
    return timeStr
  }
}
